/*
abstract 一定不能和 private, static, final 同时使用.
抽象方法：只有方法头，没有方法体定义，也就是说抽象方法无需实现，抽象方法的意义在于子类实现.
1. private意义在于其他类直接调用它已实现的方法。这两者搭配毫无意义(private修饰后为私有，子类不能继承，自然不能使用)
2. final用于类名前，表示类不可被继承；final用于变量前，表示它是只能一次赋值的变量，如果初始化了那就是常量，也不可被改变。
   和abstract 搭配无意义(final不能被重写，根本就不可能被abstract的实现类重写)
3. static修饰的是静态方法，可以直接被类调用；而abstract修饰的类中只有方法名，无方法体，不能被直接调用，故不能同时修饰一个类或方法
 */
package javase.module2.task04;

public abstract class Account {
    private int money;

    public Account() {
    }

    public Account(int money) {
        setMoney(money);
    }

    public int getMoney() {
        return money;
    }

    public void setMoney(int money) {
        if (money>0) {
            this.money = money;
        } else {
            System.out.println("金钱不合理");
        }
    }

    // 自定义抽象方法,计算利息并返回的功能描述
    public abstract double getLixi();

}
